Hulur perutusan Panggilan_tatacara_jauh

RPC dimulakan oleh pelanggan, yang menghantar perutusan permohonan kepada pelayan asing bagi melaksanakan tatacara tertentu dengan parameter diberikan. Pelayan jauh menghantar balasan kepada pelanggan, dan applikasi meneruskan prosesnya. Terdapat banyak variasi dan halusi dalam pelbagai perlaksanaan, menghasilkan pelbagai jenis protokol RPC tidak serasi. Ketika pelayan memproses panggilan, pelanggan disekat (ia menunggu sehingga pelayan habis memproses sebelum meneruskan perlaksanaan).

Perbezaan penting antara panggilan tatacara jauh dan panggilan tempatan adalah panggilan jauh boleh gagal disebabkan masaalah rangkaian tidak boleh dijangkakan. Juga pemanggil pada umumnya perlu menangani kegagalan tersebut tanpa mengetahui samaada tatacara jauh tersebut sebenarnya dimulakan. Tatacara Idempoten (yang tidak mempunyai kesan tambahan jika ia dilaksana lebih dari sekali) dapat dikendali dengan mudah, tetapi masih cukup sukar untuk memulakan tatacara jauh yang sering terhad kepada sistem kecil tahap rendah yang ditulis dengan teliti.

Langkah dalam menghasilkan RPC

  1. Pelanggan memanggil putung Pelanggan ("Client[Stub"). Panggilan ini merupakan panggilan tatacara tempatan, dengan parameter ditolak pada stak dalam cara yang biasa.
  2. Putung Pelanggan ("client stub") membungkus parameter kedalam perutusan dan membuat panggilan sistem bagi menghantar perutusan. Memasukkan parameter dikenali sebagai mengatur ("marshaling").
  3. Kernel menghantar perutusan dari mesin pelanggan kepada mesin pelayan.
  4. Kernel menghantar paket masuk kepada putung pelayan ("server stub")/ kerangka kelas ("Class skeleton").
  5. Akhirnya, putung pelayan memulakan tatacara pelayan. Jawapan menjejak cara yang sama ke arah sebaliknya.

Mekanisma hubung piwaian

Untuk membenarkan pelanggan berlainan mencapai pelayan, sejumlah piwaian sistem RPC telah dicipta, Kebanyakannya menggunakan bahasa deskripsi antaramuka ("interface description language-IDL") untuk membenarkan pelantar berbeza memangil RPC. File IDL kemudian boleh digunakan bagi menjana kod sebagai antaramuka antara pelanggan dan pelayan. Peralatan biasa digunakan bagi tujuan ini adalah RPCGEN.